/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package siscom.componentes;

import java.awt.Color;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JTextField;
import javax.xml.bind.Marshaller.Listener;

/**
 *
 * @author Carlos Ribeiro
 */
public class SisTextField extends JTextField {
    private boolean upperCase = true;
    private boolean apenasNumeros = false;
    private int     tamanhoMaximo = 0;
    private SisDocument documento = new SisDocument();
    private FocusListener acaoFoco = new FocusListener() {

        @Override
        public void focusGained(FocusEvent e) {
            setBackground(Color.decode("#FDFF54"));
        }

        @Override
        public void focusLost(FocusEvent e) {
            setBackground(Color.WHITE);
        }
    };
    public SisTextField() {
        setDocument(documento);
        addFocusListener(acaoFoco);
    }

    /**
     * @return the upperCase
     */
    public boolean isUpperCase() {
        return upperCase;
    }

    /**
     * @param upperCase the upperCase to set
     */
    public void setUpperCase(boolean upperCase) {
        getDocumento().setUpperCase(upperCase);
        this.upperCase = upperCase;
    }

    /**
     * @return the apenasNumeros
     */
    public boolean isApenasNumeros() {
        return apenasNumeros;
    }

    /**
     * @param apenasNumeros the apenasNumeros to set
     */
    public void setApenasNumeros(boolean apenasNumeros) {
        getDocumento().setApenasNumeros(apenasNumeros);
        this.apenasNumeros = apenasNumeros;
    }

    /**
     * @return the tamanhoMaximo
     */
    public int getTamanhoMaximo() {
        return tamanhoMaximo;
    }

    /**
     * @param tamanhoMaximo the tamanhoMaximo to set
     */
    public void setTamanhoMaximo(int tamanhoMaximo) {
        getDocumento().setTamanhoMaximo(tamanhoMaximo);
        this.tamanhoMaximo = tamanhoMaximo;
    }

    /**
     * @return the documento
     */
    public SisDocument getDocumento() {
        return documento;
    }

    /**
     * @param documento the documento to set
     */
    public void setDocumento(SisDocument documento) {
        this.documento = documento;
    }
    
}
